iT邦幫忙

4

Laravel Homestead Windows 10 開發環境建置

  • 分享至 

  • xImage
  •  

前言

因為最近剛好組了一台新電腦,需要重新建置 Laravel Homestead 的環境,藉這個機會重新設定一次並記錄過程,順便幫自己釐清之前不清楚的觀念,也希望能幫助到在 windows 上建置環境遇到困難的朋友,讓我們開始吧,Let's Go。

介紹

引用官網的介紹

Laravel Homestead 是一個官方,預先打包好的 Vagrant Box,為您提供了一個美妙的開發環境,無需在本地端上安裝 PHP,Web服務器和任何其他服務器軟件。不用再擔心搞亂你的操作系統了! Vagrant Box 完全是一次性的。如果出現問題,你可以在幾分鐘內銷毀並重新創建虛擬機器!

前置動作

啟用 VT-x

重新啟動 windows 進入 bios,打開 hardware virtualization (VT-x) 。

注意 windows 使用者名稱

強烈建議不要使用中文名,使用 vagrant 指令和產生 ssh key 很容易踩雷。

下載/安裝 VirtualBox

首先我們要先下載 VirtualBox,請到官網按下大大的 Download 按鈕吧。
VirtualBox 首頁

接著選擇 Windows hosts 版本進行下載,然後就執行安裝檔下一步案到底吧。
VirtualBox 下載頁

點擊圖示可以看到下方畫面,VirtualBox 就算安裝成功了。
VirtualBox 主畫面

下載/安裝 Vagrant

官方網站下載並安裝 Vagrant,請選擇 windows 64-bit 版本,一樣執行安裝檔後下一步案到底。
vagrant 下載頁

重啟電腦後,執行終端機 cmd,輸入指令測試 vagrant 安裝結果:

vagrant --version

測試 vagrant 安裝結果

下載/安裝 Homestead Vagrant Box

我們要透過 vagrant 指令,安裝 laravel/homestead 虛擬機:

vagrant box add laravel/homestead

Homestead Vagrant Box 下載畫面

過程中會詢問您的 provider,請輸入 3 (virtualbox) 後開始下載。因為檔案有點大,會視網路速度花一點時間。完成後,可以用下面指令確認是否完成:

vagrant box list

Homestead Vagrant Box 確認畫面

安裝 Homestead

由於 Homestead 把設定檔、工具指令等等都以 git 儲存庫來做管理,所以本機端需要有 git 版本管理系統。若您的本機端上還沒有安裝完成,請先至官網下載/安裝。

複製 Homestead 設定工具的方式,就是去 Laravel 官方的 Github 把儲存庫複製 (clone) 回來:

git clone https://github.com/laravel/homestead.git Homestead

clone Homestead

您可以在 GitHub 發布頁面上找到最新的穩定版本,透過 git 的 checkout 指令切到 7.20.0 版:

cd Homestead
git checkout v7.20.0

切換 Homestead 版本

產生 Homstead 設定檔

官方將所有 Homestead 可以調整的設定獨立成 Homestead.yaml 設定檔。產生設定檔的指令已經包含在 Homestead 工具裡,請執行下方的指令:

cd Homestead
init.bat

初始化 Homestead
將會產生 Homstead.yaml 這個設定檔。

設定 Homestead

在使用 Homestead 前,需要設定 Homstead.yaml 這個檔案。接下來會簡單介紹各屬性的功能,沒介紹的話就是我還尚未使用過,圖片為初始值:
Homestead 設定檔初始值

  • ip:虛擬機拿到的 ip 位址,預設是 192.168.10.10,若沒有特殊需求則不需要更動。
  • memory、cpus:可以設定虛擬機佔用的資源,預設是 1 CPU、2GB 的記憶體,若沒有特殊需求則不需要更動。
  • provider:使用的虛擬技術,預設是 virtualbox,這邊也是使用 VirtualBox 做示範。
  • authorize、keys:設定登入虛擬機時使用的 SSH 金鑰,預設會使用自己家目錄底下的金鑰。若自己的家目錄底下沒有 key 的話,可以用 ssh-keygen -t rsa -C "your_email@example.com" 指令產生,請檢查路徑是否正確,如果路徑錯誤或是沒有 SSH 金鑰,將無法啟動 Homestead。
    產生 ssh key
  • folders:設定掛載的虛擬目錄,預設是將家目錄底下的 code 資料夾掛載到虛擬機 vagrant 帳號家目錄底下的 code 資料夾。可以依照自己的需求進行更動,我這邊是在 D:/ 建立 code 資料夾。
folders:
    - map: D:/code
      to: /home/vagrant/code
  • sites:可以輕鬆地將本地網域名稱對應到 Homestead 環境中的資料夾,可以依照自己的需求進行更動。
  • databases:虛擬機建立的資料庫名稱,若沒有特殊需求則不需要更動。

啟動 Homestead Vagrant Box

cd Homestead
vagrant up

https://ithelp.ithome.com.tw/upload/images/20190103/20114353C0hwYp35BY.png

建立/運行 Laravel 專案

由於本機端並沒有 PHP、Composer 等指令可以使用,所以我們要先使用指令登入虛擬機:

登入 Homestead Vagrant Box

vagrant ssh

https://ithelp.ithome.com.tw/upload/images/20190103/20114353BPOHEd5FKH.png

建立 Laravel 專案

code 資料夾是虛擬機和本地端之間連結的共享資料夾,當我們在 code 資料夾裡建立檔案時,就會同步到本地端的 code 資料夾上。

cd code
laravel new laravel

https://ithelp.ithome.com.tw/upload/images/20190103/20114353GhdWMuFsl8.png

設定 sites

接著,我們要幫專案設定一個 Nginx 的虛擬站台,需要修改 Homestead.yaml 的 sites 屬性:

sites:
    - map: laravel.test
      to: /home/vagrant/code/laravel/public

設定 Hosts

在上一個步驟中,您會看到我們站台的網址是 laravel.test,但這個網址只是拿來開發使用,實際上並不存在。所以我們必須在本機上設定 DNS 對應,讓瀏覽器輸入這個網址時,會強制導向到虛擬機的 ip (192.168.10.10)。
所以請以系統管理員編輯 C:\Windows\System32\drivers\etc\hosts 這個檔案,您需要新增一行,如下方的範例:

192.168.10.10  laravel.test

設定 hosts

重啟 Homestead Vagrant Box

由於我們更動了 Homestead.yaml 這個檔案,所以要讓虛擬機重新讀取設定,請在 ~/Homestead 底下執行指令:

vagrant reload --provision

重啟 Homestead Vagrant Box
完成後,就可以打開瀏覽器,輸入網址:http://laravel.test 就可以看到 Laravel 的預設啟動畫面。
成功以 Homestead 運行 Laravel 開發環境

結論

恭喜你已完成最麻煩的建置環境步驟,只要做過一次後,之後常用的指令就只剩下這幾個:

  1. 啟動 Homestead:vagrant up
  2. 登入 Homestead:vagrant ssh
  3. 暫停 Homestead:vagrant suspend
  4. 將 Homestead 關機:vagrant halt
  5. 重啟 Homestead:vagrant reload --provision

參考資料


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言